package com.ruoyi.mapper;

import com.ruoyi.domain.SysMatDataType;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.ResultMap;
import org.apache.ibatis.annotations.Select;
import org.springframework.stereotype.Repository;

import java.util.List;

/**
 * 材料数据Mapper接口
 * 
 * @author ruoyi
 * @date 2020-07-03
 */
@Mapper
@Repository
public interface SysMatDataTypeMapper 
{
    /**
     * 查询材料数据
     * 
     * @param matDataId 材料数据ID
     * @return 材料数据
     */
    public SysMatDataType selectSysMatDataTypeById(Integer matDataId);

    /**
     * 查询材料数据列表
     * 
     * @param sysMatDataType 材料数据
     * @return 材料数据集合
     */
    public List<SysMatDataType> selectSysMatDataTypeList(SysMatDataType sysMatDataType);

    /**
     * 新增材料数据
     * 
     * @param sysMatDataType 材料数据
     * @return 结果
     */
    public int insertSysMatDataType(SysMatDataType sysMatDataType);

    /**
     * 修改材料数据
     * 
     * @param sysMatDataType 材料数据
     * @return 结果
     */
    public int updateSysMatDataType(SysMatDataType sysMatDataType);

    /**
     * 删除材料数据
     * 
     * @param matDataId 材料数据ID
     * @return 结果
     */
    public int deleteSysMatDataTypeById(Integer matDataId);

    /**
     * 批量删除材料数据
     * 
     * @param matDataIds 需要删除的数据ID
     * @return 结果
     */
    public int deleteSysMatDataTypeByIds(String[] matDataIds);

    /**
     * 查询和材料分类表有关系的材料数据表
     */
    @Select("select * from sys_mat_data_type where mat_classification_type = #{matClassificationType}")
    @ResultMap("SysMatDataTypeResult")
    List<SysMatDataType> selectSysMatDataTypeLists(String matClassificationType);


    /**
     * 查询选中的材料类型下有关的材料分类
     */
//    @Select("select * from sys_mat_data_type where mat_classification_type = #{matdata}")
//    List<SysMatDataType> selectYC(String matdata);

    List<SysMatDataType> selectYC(String matdata);


    /**
     * 查询选中的材料数据下的材料数据类型
     */
    @Select("select mat_data_type from sys_mat_data_type where mat_data_name = #{type}")
    String selectmatdatatypeYC(String type);
}
